package com.sewisdom.ng.act.sys.arena.impl;

import com.sewisdom.mmorpg.fw.FWGlobal;
import com.sewisdom.mmorpg.fw.sys.SysConfigIniter;
import com.sewisdom.mmorpg.fw.sys.SysObserverFactory;
import com.sewisdom.netgame.NGGlobal;
import com.sewisdom.ng.act.sys.arena.cfg.ArenaCfgUtil;
import com.sewisdom.ng.act.sys.arena.protocol.ArenaEntryProtocol;
import com.sewisdom.ng.act.sys.arena.protocol.BuyChallengeCntProtocol;
import com.sewisdom.ng.act.sys.arena.protocol.ClearCoolingTimeProtocol;
import com.sewisdom.ng.act.sys.arena.protocol.GainRankAwardProtocol;
import com.sewisdom.ng.act.sys.arena.protocol.ProceedMatchProtocol;
import com.sewisdom.ng.act.util.caoyt.protocol.BaseProtocol;

public class ArenaCfgImpl implements SysConfigIniter{

	public void debugProtocol() {
		
	}

	public void loadConfig(String cfgDir) {
		ArenaCfgUtil.init(cfgDir);
	}

	public void registProtocol() {
		NGGlobal.Register.Protocol.register(BaseProtocol.PROTOCOL_ARENA_ENTRY, ArenaEntryProtocol.class);
		NGGlobal.Register.Protocol.register(BaseProtocol.PROTOCOL_BUY_CHG_TIMES, BuyChallengeCntProtocol.class);
		NGGlobal.Register.Protocol.register(BaseProtocol.PROTOCOL_CLR_COOLINGTIME, ClearCoolingTimeProtocol.class);
		NGGlobal.Register.Protocol.register(BaseProtocol.PROTOCOL_GAIN_RANKAWARD, GainRankAwardProtocol.class);
		NGGlobal.Register.Protocol.register(BaseProtocol.PROTOCOL_PROCEED_MATCH, ProceedMatchProtocol.class);
	}

	public void registSysInterface() {
		FWGlobal.Register.Environment.registServerMonitor(new ArenaServerMonitorImpl());
		SysObserverFactory.getInstance().registSysObserver(ArenaObserverImpl.class);
	}

	public void reloadConfig(String cfgDir) {
		ArenaCfgUtil.reload(cfgDir);
	}

	public void startThread() {
		
	}

}
